package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 已用积分流水对象 jiajia_points_flow_userd
 * 
 * @author ruoyi
 * @date 2025-04-16
 */
public class JiajiaPointsFlowUserd extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 用户Id */
    @Excel(name = "用户Id")
    private Long uid;

    /** 项目订单Id */
    @Excel(name = "项目订单Id")
    private Long jiajiaOrderId;

    /** 项目id */
    @Excel(name = "项目id")
    private Long iid;

    /** 项目金额 */
    @Excel(name = "项目金额")
    private BigDecimal productTotalPrice;

    /** 解锁次积分的ID */
    @Excel(name = "解锁次积分的ID")
    private Long unlockOrderId;

    /** 解锁积分 */
    @Excel(name = "解锁积分")
    private BigDecimal productPoints;

    /** 已用积分 */
    @Excel(name = "已用积分")
    private BigDecimal userPoints;

    /** 使用积分的商城Id */
    @Excel(name = "使用积分的商城Id")
    private Long usedOrderId;
    private String pointsType;
    @Excel(name = "detail表Id")
    private Long detailId;

    /** 是否删除 */
    @Excel(name = "是否删除")
    private Integer deleted;

    /** 版本号 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "版本号", width = 30, dateFormat = "yyyy-MM-dd")
    private Date version;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUid(Long uid) 
    {
        this.uid = uid;
    }

    public Long getUid() 
    {
        return uid;
    }
    public void setJiajiaOrderId(Long jiajiaOrderId) 
    {
        this.jiajiaOrderId = jiajiaOrderId;
    }

    public String getPointsType() {
        return pointsType;
    }

    public void setPointsType(String pointsType) {
        this.pointsType = pointsType;
    }

    public Long getJiajiaOrderId()
    {
        return jiajiaOrderId;
    }
    public void setIid(Long iid) 
    {
        this.iid = iid;
    }

    public Long getIid() 
    {
        return iid;
    }
    public void setProductTotalPrice(BigDecimal productTotalPrice) 
    {
        this.productTotalPrice = productTotalPrice;
    }

    public BigDecimal getProductTotalPrice() 
    {
        return productTotalPrice;
    }
    public void setUnlockOrderId(Long unlockOrderId) 
    {
        this.unlockOrderId = unlockOrderId;
    }

    public Long getUnlockOrderId() 
    {
        return unlockOrderId;
    }
    public void setProductPoints(BigDecimal productPoints) 
    {
        this.productPoints = productPoints;
    }

    public BigDecimal getProductPoints() 
    {
        return productPoints;
    }
    public void setUserPoints(BigDecimal userPoints) 
    {
        this.userPoints = userPoints;
    }

    public BigDecimal getUserPoints() 
    {
        return userPoints;
    }

    public Long getUsedOrderId() {
        return usedOrderId;
    }

    public void setUsedOrderId(Long usedOrderId) {
        this.usedOrderId = usedOrderId;
    }

    public Long getDetailId() {
        return detailId;
    }

    public void setDetailId(Long detailId) {
        this.detailId = detailId;
    }

    public void setDeleted(Integer deleted)
    {
        this.deleted = deleted;
    }

    public Integer getDeleted() 
    {
        return deleted;
    }
    public void setVersion(Date version) 
    {
        this.version = version;
    }

    public Date getVersion() 
    {
        return version;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("uid", getUid())
            .append("jiajiaOrderId", getJiajiaOrderId())
            .append("iid", getIid())
            .append("productTotalPrice", getProductTotalPrice())
            .append("unlockOrderId", getUnlockOrderId())
            .append("productPoints", getProductPoints())
            .append("userPoints", getUserPoints())
            .append("usedOrderId", getUsedOrderId())
            .append("deleted", getDeleted())
            .append("version", getVersion())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
